package com.szh.cloud.api.course.service;

import com.szh.cloud.api.course.entity.SearCourseEntity;

import java.util.List;
import java.util.Map;

/**
 * 课程服务接口
 */
public interface ApiCourseService {
    
    /**
     * 分页查询课程列表
     * @param params 查询参数
     * @return 课程列表
     */
    List<SearCourseEntity> queryCourseListByPage(Map<String, Object> params);
    
    /**
     * 查询课程总数
     * @param params 查询参数
     * @return 课程总数
     */
    int queryCourseListTotal(Map<String, Object> params);
    
    /**
     * 根据UUID查询课程
     * @param courseUuid 课程UUID
     * @return 课程信息
     */
    SearCourseEntity queryCourseByUuid(String courseUuid);
    
    /**
     * 添加课程
     * @param course 课程信息
     * @return 是否成功
     */
    boolean addCourse(SearCourseEntity course);
    
    /**
     * 更新课程
     * @param course 课程信息
     * @return 是否成功
     */
    boolean updateCourse(SearCourseEntity course);
    
    /**
     * 删除课程
     * @param courseUuids 课程UUID列表
     * @return 是否成功
     */
    boolean deleteCourse(List<String> courseUuids);
    
    /**
     * 根据班级UUID查询关联的课程
     * @param classUuid 班级UUID
     * @return 课程列表
     */
    List<SearCourseEntity> queryCoursesByClassUuid(String classUuid);
}
